package com.yzs.service;

import com.yzs.common.bean.R;
import com.yzs.entity.House;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

public interface IHouseService {
    /**
     * 分页查询功能
     * @param currentPage
     * @param pageSize
     * @return
     */
    public R getHouseByPage(Integer currentPage, Integer pageSize);

    /**
     * 根据id查找相应的房源
     * @param id
     * @return
     */
    public R getHouseById(String id);

    /**
     * 图片上传
     * @param files
     * @return
     */
    public R uploadPicture(MultipartFile[] files,String token,String houseId);

    /**
     * 删除图片
     * @param fileName
     * @return
     */
    public R removePicture(String fileName);

    /**
     * 更新房屋信息
     * @param house
     * @return
     */
    public R updateHouseById(House house);

    /**
     * 添加房屋
     * @param house
     * @return
     */
    public R createHouse(String token,House house);

    /**
     * 获取房屋销售代理
     * @param token
     * @param id
     * @return
     */
    public R getHouseSale(String token, String id);

    /**
     * 获取最新房源
     * @param i 获取数量
     * @return
     */
    public R getNewHouse(Integer i);

    /**
     * 根据token获取用户id
     * @param token
     * @return 用户房源信息
     */
    public R getMyHouse(String token);

    /**
     * 筛选房源
     * @param currentPage
     * @param pageSize
     * @param zone
     * @param price
     * @param area
     * @return
     */
    public R getHouseByPageAsFilter(Integer currentPage, Integer pageSize, String zone, String price, String area);

    /**
     * 远程查询获取所有小区名称
     * @return
     */
    public R getVillage();

    /**
     * 获取房屋信息 =>条件 => 小区名
     * @param village
     * @return
     */
    public R searchHouseByVillage(String village);

    public R testUpload(MultipartFile[] files);

    /**
     * 下架房源
     * @param house
     * @return
     */
    public R deleteHouse(House house);
}
